﻿using AutoMapper;
using Sautom.CompositionRoot.AutoMapperConfiguration;
using Sautom.Queries.ReadOptimizedDto;
using Sautom.WcfServer.TransportDto;

namespace Sautom.WcfServer.AutoMapperConfig
{
    //todo T4
    public class QueryService : Base
    {
        #region Overrides of Base

        protected override void Configure()
        {
            ConfigureClient();
        }

        #endregion

        private static void ConfigureClient()
        {
            Mapper.CreateMap<ClientItemDto, ClientItemDtoOutput>();
            Mapper.CreateMap<OrderItemDto, OrderItemDtoOutput>();
            Mapper.CreateMap<ClientEditDto, ClientEditDtoOutput>();
            Mapper.CreateMap<ClientViewDto, ClientViewDtoOutput>();
            Mapper.CreateMap<CreateOrderInfoDto, CreateOrderInfoDtoOutput>();
            Mapper.CreateMap<ProposalDto, ProposalDtoOutput>();
            Mapper.CreateMap<ManagerDto, ManagerDtoOutput>();
            Mapper.CreateMap<GuidStringDto, GuidStringDtoOutput>();

            Mapper.CreateMap<ProposalDto, ProposalDtoOutput>();
            Mapper.CreateMap<ProposalEditDto, ProposalEditDtoOutput>();
            Mapper.CreateMap<CountryItemDto, CountryItemDtoOutput>();
            Mapper.CreateMap<CountryEditDto, CountryEditDtoOutput>();
            Mapper.CreateMap<CityItemDto, CityItemDtoOutput>();
            Mapper.CreateMap<EmbassyDocumentItemDto, EmbassyDocumentItemDtoOutput>();
            Mapper.CreateMap<CountryWitCitiesDto, CountryWitCitiesDtoOutput>();
            Mapper.CreateMap<CityItemDto, CityItemDtoOutput>();

            Mapper.CreateMap<AirlineTicketViewDto, AirlineTicketViewDtoOutput>();
            Mapper.CreateMap<AirlineTicketEditDto, AirlineTicketEditDtoOutput>();
            Mapper.CreateMap<ContractViewDto, ContractViewDtoOutput>();
            Mapper.CreateMap<ContractEditDto, ContractEditDtoOutput>();
            Mapper.CreateMap<RateItemDto, RateItemDtoOutput>();

            Mapper.CreateMap<ManagerCommentItemDto, ManagerCommentItemDtoOutput>();
        }
    }
}
